package com.chuangshu.chuangshuteam.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.chuangshu.chuangshuteam.dto.TeamInfoDTO;
import com.chuangshu.chuangshuteam.dto.TeamMemberListDTO;
import com.chuangshu.chuangshuteam.dto.TeamUpdateRequest;
import com.chuangshu.chuangshuteam.entity.Team;

public interface TeamService extends IService<Team> {

    /**
     * 获取团队基本信息
     */
    TeamInfoDTO getTeamInfo(Long teamId);

    /**
     * 更新团队信息（仅管理员）
     */
    boolean updateTeamInfo(Long teamId, TeamUpdateRequest request);

    /**
     * 生成/重置邀请码
     */
    String resetInviteCode(Long teamId);

    /**
     * 获取团队成员列表及方向分布
     */
    TeamMemberListDTO getTeamMembers(
            Long teamId,
            Integer page,
            Integer size,
            String direction,
            Long currentUserId
    );
}